package com.fs.service.impl;

import com.fs.mapper.LoginMapper;

import com.fs.entity.Login;
import com.fs.mapper.UserMapper;
import com.fs.mapper.util.MybatisUtil;
import com.fs.service.LoginService;



public class LoginServiceImpl implements LoginService {
    private LoginMapper loginMapper = MybatisUtil.getMapper(LoginMapper.class);

    @Override
    public Login login(String user, String password, String verifycode, String sessionCode) throws  Exception {
        /*
         1. 先判断验证码是否正确, 如果错误,直接抛验证码错误异常
         2. 如果验证码正确, 调用dao方法根据用户名查询用户
         3. 如果存在该用户, 判断密码是否正确, 如果密码错误,抛异常
         4. 如果用户不存在,抛异常
         5.都没有问题, 返回Login对象
         */
        //先判断验证码是否正确, 如果错误,直接抛验证码错误异常   用户传递的验证码与session的验证码对比
        if(!sessionCode.equalsIgnoreCase(verifycode)){
            throw new Exception("验证码错误");
        }
        Login login = loginMapper.queryByUserName(user);
        if(login == null || !login.getPassword().equals(password)){
            throw new Exception("用户名或者密码错误");
        }
        MybatisUtil.close();
        return login;
    }
}
